package partFour;
/*本类用于多线程编程实现方案二：实现Runnable接口来完成*/
public class TestThread2 {
    public static void main(String[] args) {
        //5.创建自定义类的对象
        MyRunnable target = new MyRunnable();
        //6.启动线程
        /*MyRunnable和Runnable中没有start方法
         * 需要与Thread建立关系，使用Thread的方法 */
        Thread t1 = new Thread(target);
        Thread t2 = new Thread(target);
        Thread t3 = new Thread(target);
        Thread t4 = new Thread(target);
        t1.start();
        t2.start();
        t3.start();
        t4.start();
    }
}
//1.自定义多线程类
class MyRunnable implements Runnable{
    //2.添加父接口中的抽象方法run()，里面是自己的业务
    @Override
    public void run(){
        //3.写业务，打印10次当前正在执行的线程名称
        for (int i=0; i<10; i++){
            /*自定义类与父类接口Runnable没有获取名字的方法，
            需要从Thread方法中调用，但是Thread里的getName()方法不是静态方法，不能直接类名调用
            * Thread方法中提供了currentThread方法：静态方法，获取当前正在执行的线程对象
            * 有了对象之后，就可以getName():获取当前线程的名称 */
            System.out.println(i+"="+Thread.currentThread());
        }
    }
}